iT邦幫忙

2022 iThome 鐵人賽

DAY 19
0
自我挑戰組

用Python學習網路爬蟲30天系列 第 19

[Day19] Scrapy爬蟲框架

  • 分享至 

  • xImage
  •  

Scrapy簡介

Scrapy是一套開放原始碼的框架,提供多種工具從Web網站擷取資料,主要應用於資料量較大、邏輯處理較複雜的網頁爬取。除了可以剖析與爬取網頁資料外,它還可以發送請求、 處理和儲存成指定的檔案格式、偵錯等等多項功能,方便我們運用與管理所需要的資料。

安裝Scrapy

  1. 開啟 Anaconda Prompt命令提示字元後輸入安裝指令

    conda install -c conda-forge scrapy 
    

    https://ithelp.ithome.com.tw/upload/images/20221003/20152180FW0ahhSQgr.png

  2. 輸入y鍵確認下載與安裝套件及完成安裝
    https://ithelp.ithome.com.tw/upload/images/20221003/20152180bYkNDyof9k.png

使用Scrapy Shell擷取資料

  1. 開啟 Anaconda Prompt命令提示字元並輸入指令啟動Scrapy Shell

    scrapy shell
    

    https://ithelp.ithome.com.tw/upload/images/20221003/20152180W9X60tlmVY.png

    https://ithelp.ithome.com.tw/upload/images/20221003/20152180LLvj8NG7ZK.png

  2. 使用下方指令下載指定的網頁網址,實作練習以批踢踢實業坊中的股票版網址為例

    fetch(“網頁網址”)
    

    若回應資訊出現DEBUG: Crawled (200)代表成功下載指定網址
    https://ithelp.ithome.com.tw/upload/images/20221003/20152180ZmYT5HDwBy.png

    使用下方指令顯示下載的網頁內容

    view(response)
    

    https://ithelp.ithome.com.tw/upload/images/20221003/20152180NNM3c46Jni.png
    https://ithelp.ithome.com.tw/upload/images/20221003/20152180cUtocnwWB9.png

  3. 定位要擷取的資料並取得

    (1) CSS選擇器: 取得全部文章標題

    response.css("以css表示的資料位置").extract()
    

    https://ithelp.ithome.com.tw/upload/images/20221003/20152180y1dRP83VcK.png
    https://ithelp.ithome.com.tw/upload/images/20221003/20152180Fm0YJ4oUgl.png

    (2) XPath表達式: 取得全部發文的推文數

    response.xpath("以xpath表示的資料位置").extract()
    

    https://ithelp.ithome.com.tw/upload/images/20221003/20152180nS4RR1C9X5.png
    https://ithelp.ithome.com.tw/upload/images/20221003/20152180WppYS3FAdg.png


上一篇
[Day18] Selenium總複習
下一篇
[Day20] Scrapy爬蟲框架2_建立專案
系列文
用Python學習網路爬蟲30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言